package com.itheima.util;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;
import java.util.Map;

public class JwtUtils {

    // 签名
    private static String sinKey = "ZHOGNLIUPING";
    // 有效时间
    private static long exprie = 43200000L;


    // 生成令牌
    public static String generateJwt(Map<String, Object> dataMap) {
        return Jwts.builder()
                .addClaims(dataMap) //要加密的内容  id name username 等
                .signWith(SignatureAlgorithm.HS256, sinKey) // 加密方式
                .setExpiration(new Date(System.currentTimeMillis() + exprie)) // 时效
                .compact(); // 生成
    }

    // 解析命令
    public static Claims parseJwt(String jwt) {
        Claims claims = Jwts.parser()
                .setSigningKey(sinKey)
                .parseClaimsJws(jwt)
                .getBody();
        return claims;
    }


}
